/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Pe.edu.unmsm.SIASS.Bean;

import Pe.edu.unmsm.SIASS.DAO.AsistenciaDAO;
import Pe.edu.unmsm.SIASS.DAO.CursoDAO;
import Pe.edu.unmsm.SIASS.DAO.ModalidadDictadoDAO;
import Pe.edu.unmsm.SIASS.DAO.PlanDAO;
import Pe.edu.unmsm.SIASS.DAOImpl.AsistenciaDaoImpl;
import Pe.edu.unmsm.SIASS.DAOImpl.CursoDAOImpl;
import Pe.edu.unmsm.SIASS.DAOImpl.ModalidadDictadoDAOImpl;
import Pe.edu.unmsm.SIASS.DAOImpl.PlanDAOImpl;
import Pe.edu.unmsm.SIASS.Dominio.Asistencia;
import Pe.edu.unmsm.SIASS.Dominio.Curso;
import Pe.edu.unmsm.SIASS.Dominio.ModalidadDictado;
import Pe.edu.unmsm.SIASS.Dominio.Plan;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

/**
 *
 * @author PC-14
 */
@ManagedBean(name = "consultaBean")
@ViewScoped
public class ConsultaBean implements Serializable {

    private Date fechaConsult;
    int numPlan;
    int numCurso;
    List<Plan> listaPlanes;
    List<Curso> listaCursos;
    PlanDAO planDAO;
    CursoDAO cursoDAO;
    List<ModalidadDictado> listaModalidades;
    int numModalidad = 0;
    ModalidadDictadoDAO modalidadDAO;
    List<Asistencia> listaAsistencia;
    AsistenciaDAO asistenciaDAO;
    String tema;
    String nombProfesor;

    public ConsultaBean() {
        listarPlanes();
    }

    public void listarPlanes() {
        planDAO = new PlanDAOImpl();
        listaPlanes = planDAO.listarPlanes();
    }

    public void listarCursos() {
        cursoDAO = new CursoDAOImpl();
        listaCursos = cursoDAO.listarCursos(numPlan);
    }

    public void entrar() {
        System.out.println("eee");
    }

    public void listarModalidades() {
        modalidadDAO = new ModalidadDictadoDAOImpl();
        listaModalidades = modalidadDAO.listarModalidades(numCurso);
    }

    public void listarAsistencias() {
        asistenciaDAO = new AsistenciaDaoImpl();
        System.out.println("curs:" + numCurso + " nummod:" + numModalidad + " fec:" + fechaConsult);
        listaAsistencia = asistenciaDAO.obtenerListAsistencia(numCurso, numModalidad, fechaConsult);
        if (listaAsistencia.size() == 0) {
            listaAsistencia.clear();
        } else {
            nombProfesor = listaAsistencia.get(0).getAlumno().getPersona().getAppaterno() + " " + listaAsistencia.get(0).getAlumno().getPersona().getApmaterno()
                    + " " + listaAsistencia.get(0).getAlumno().getPersona().getNombres();
            tema = listaAsistencia.get(0).getSesion().getNombre();
        }

    }

    public Date getFechaConsult() {
        return fechaConsult;
    }

    public void setFechaConsult(Date fechaConsult) {
        System.out.println("cambio en fech" + fechaConsult.toString());
        this.fechaConsult = fechaConsult;
    }

    public int getNumPlan() {
        return numPlan;
    }

    public void setNumPlan(int numPlan) {
        this.numPlan = numPlan;
    }

    public int getNumCurso() {
        return numCurso;
    }

    public void setNumCurso(int numCurso) {
        this.numCurso = numCurso;
    }

    public List<Plan> getListaPlanes() {
        return listaPlanes;
    }

    public void setListaPlanes(List<Plan> listaPlanes) {
        this.listaPlanes = listaPlanes;
    }

    public List<Curso> getListaCursos() {
        return listaCursos;
    }

    public void setListaCursos(List<Curso> listaCursos) {
        this.listaCursos = listaCursos;
    }

    public List<ModalidadDictado> getListaModalidades() {
        return listaModalidades;
    }

    public void setListaModalidades(List<ModalidadDictado> listaModalidades) {
        this.listaModalidades = listaModalidades;
    }

    public int getNumModalidad() {
        return numModalidad;
    }

    public void setNumModalidad(int numModalidad) {
        this.numModalidad = numModalidad;
    }

    public List<Asistencia> getListaAsistencia() {
        return listaAsistencia;
    }

    public void setListaAsistencia(List<Asistencia> listaAsistencia) {
        this.listaAsistencia = listaAsistencia;
    }

    public String getTema() {
        return tema;
    }

    public void setTema(String tema) {
        this.tema = tema;
    }

    public String getNombProfesor() {
        return nombProfesor;
    }

    public void setNombProfesor(String nombProfesor) {
        this.nombProfesor = nombProfesor;
    }
}
